home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 November
/
CHIP Kasım 1996.iso
/
ms
/
index
/
ppc
/
idxsveng.exe
/
RCDATA
/
CABINET
/
setupci.inf
< prev
next >
Wrap
INI File
|
1996-08-06
|
101KB
|
2,846 lines
;***********************************************************************
; IIS Content Index install script
;***********************************************************************
;***********************************************************************
; SOURCE MEDIA DESCRIPTION
; ------------------------
; This is only here because we must have _something_ in this slot...
;
;***********************************************************************
[Source Media Descriptions]
1 = "Disk containing Microsoft Index Server files."
[RegistryConstants]
MaskAllAccess = 33554432
NoTitle = 0
RegLastError = $(!REG_ERROR_SUCCESS)
REG_VT_BINARY = 3 ;define this ourselves as it is not defd for us
;************************************************************************
; CONFIGURATION CHOICES
; ---------------------
; the sections below contain the different choices supported for
; the configuration items shown. an id section establishes the
; language independent IDs supported by nt setup. for each language
; supported a text section displays the text used for the different
; choices
;************************************************************************
;********************************
; PLATFORM INDEPENDENT CHOICES
;********************************
;----------------------------------------------------
; LANGUAGE CHOICES-- this is all you get,,,
;----------------------------------------------------
[LanguageID]
LANGID_ENG = ENG
;----------------------------------------------------
; PROCESSOR CHOICES
;----------------------------------------------------
[ProcessorID]
ProcessorID_I386 = I386
ProcessorID_I486 = I486
ProcessorID_I586 = I586
ProcessorID_R4000 = R4000
ProcessorID_Alpha = Alpha_AXP
ProcessorID_PPC601 = PPC601
ProcessorID_PPC603 = PPC603
ProcessorID_PPC604 = PPC604
ProcessorID_PPC620 = PPC620
;----------------------------------------------------
; PLATFORM CHOICES
;----------------------------------------------------
[PlatformID]
PlatformID_I386 = I386
PlatformID_Mips = Mips
PlatformID_Alpha = Alpha
PlatformID_ppc = ppc
;**************************************************************
; UI VARIABLES
;**************************************************************
[ProcessorVar]
STF_PROCESSOR = "" ? $(LIBHANDLE) GetProcessor
STF_PLATFORM = ""
[LocaleVar]
[LanguageVar]
;
; Language to Use For interaction with user
;
STF_LANGUAGE = "" ? $(LIBHANDLE) GetLanguage
[UiVars]
;
; Computer name
;
STF_COMPUTERNAME = "" ? $(!LIBHANDLE) GetMyComputerName
;
; Destination Particulars
;
WinSysDir = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
;
; Source location
;
SrcDir = $(!STF_SRCDIR)
UsrRootPerms = "UNKNOWN"
;
; Windows NT Directory
;
STF_WINDOWSPATH = "" ? $(!LIBHANDLE) GetWindowsNtDir
STF_WINDOWSSYSPATH = "" ? $(!LIBHANDLE) GetWindowsNtSysDir
STF_WINDOWSVERSION = "" ? $(!LIBHANDLE) GetWindowsNtVersion
REG_VT_BINARY = 3 ;define this ourselves as it is not defd for us
;
; Installation mode
;
STF_INSTALL_MODE = "1"
[EnvironmentVars]
;
; user environment variables in the current user's profile
; that we are concerned about
PathEnvVar = {} ? $(LIBHANDLE) GetEnvVar $(PRIVILEGES) Path
InitEnvVar = {} ? $(LIBHANDLE) GetEnvVar $(PRIVILEGES) init
[VarsPlatformCommon]
;
; Installation options
;
;
; Options to disable
;
DisableList = {}
[VarsI386]
;
[VarsMips]
;
[VarsAlpha]
;
[Varsppc]
;
[StringsENG]
String1 = "Setup cannot install on the current processor."$(!LF)$(!LF)+
"Cannot proceed with install."
String2 = "The Microsoft Index Server will not work with the "+
"IIS registry parameter CacheExtensions set to 0."
String3 = "Microsoft Index Server files not found."$(!LF)+
"Please enter the directory path to the Microsoft Index Server setup files."
String5 = "Path does not exist. Please enter a path to an existing directory."
String6 = "Error processing path entered. Please reenter the path."
String19 = "Microsoft Index Server requires prior installation of Microsoft Internet "+
"Information Server or Microsoft Peer Web Services."
String20 = "Please enter the full physical path of the IIS scripts directory into which "+
"Microsoft Index Server sample scripts should be copied. Then choose Continue. "+
"If the directory does not exist it will be created. A virtual root may "+
"also be added to map this directory."
String21 = "Please enter the full physical path of the IIS virtual root into which "+
"Microsoft Index Server sample HTML pages should be copied. Then choose Continue. "+
"If the directory does not exist it will be created. A virtual root may "+
"also be added to map this directory."
String23 = "Please enter the full physical path to the directory in which the Microsoft "+
"Index Server index should be created. Then choose Continue."
String24 = "Path cannot be created. Please enter a valid path."
String25 = "Please enter the full virtual path of the IIS scripts directory corresponding "+
"to the physical path you just entered. Then choose Continue."
String26 = "Please enter the full virtual path of the IIS directory corresponding "+
"to the physical path you just entered. Then choose Continue."
String27 = "Cannot set security on path. Please enter a valid path."
;--------------------
; BILLBOARD MESSAGES
;--------------------
[BillboardsENG]
Billboard1 = "Please wait while Setup creates directories on the destination drive."
Billboard2 = "Please wait while Setup installs data into your registry."$(LF)$(LF)+
"Please be patient, this may take up to a couple of minutes."
Billboard3 = "Please wait while Setup adds performance counters."
Billboard4 = "Please wait while Setup stops Microsoft Internet Information Server."
Billboard5 = "Please wait while Setup restarts Microsoft Internet Information Server."
Billboard6 = "Please wait while Setup modifies paths in sample files."
;***************************************************************************
; DIALOGS
; -------
; the following sections contain the dialogs used to interact with the user.
; for each language supported there is a different dialog section.
;***************************************************************************
;-----------------------------------------------
; WELCOME DIALOG
;-----------------------------------------------
[WelcomeDlgENG]
DlgType = Info
DlgTemplate = WELCOME
Caption = "Microsoft Index Server for Microsoft Windows NT Setup"
DlgText = "Welcome to Setup."$(LF)$(LF)+
"This Setup program installs Microsoft Index Server "+
"for Microsoft Windows NT. "$(LF)$(LF)+
"To install Microsoft Index Server on your computer now, click Continue "+
"or press Enter."$(LF)$(LF)+
"To exit Setup without installing, click Exit "+
"or press F3."
Continue = &Continue
Exit = E&xit
Help = &Help
HelpContext = 98314
;--------------------------------------------------------------
; SETUP DONE - RESTART DIALOG
;--------------------------------------------------------------
[SetupDoneDlgENG]
DlgType = "Info"
DlgTemplate = "RESTART"
Caption = "Microsoft Index Server for Microsoft Windows NT Setup"
DlgText = "The Microsoft Index Server is now installed. "+
"A sample search page is located at:"$(LF)$(LF)+
" http://"$(STF_COMPUTERNAME)$(HomeVDir)"/Samples/Search/query.htm"$(LF)$(LF)
Windows = "Exit to &Windows"
;--------------------------------------------------------------
; SETUP NOT DONE - RESTART DIALOG
;--------------------------------------------------------------
[SetupNotDoneDlgENG]
DlgType = "Info"
DlgTemplate = "NONFATAL"
Caption = "Microsoft Index Server for Microsoft Windows NT Setup"
DlgText = "The Microsoft Index Server has not been installed."$(LF)$(LF)+
"Please exit back to Windows NT."
Windows = "Exit to &Windows"
;--------------------------------------------------------------
; SETUP NOT DONE - Root Perms not found DIALOG
;--------------------------------------------------------------
[RootPermsDlgENG]
DlgType = "MessageBox"
STF_MB_TITLE = "Fatal error: Micosoft Index Server for Microsoft Windows NT Setup"
STF_MB_TEXT = "You must be logged in as ADMINISTRATOR to "+
"run this setup utility"
STF_MB_TYPE = 1
STF_MB_ICON = 3
STF_MB_DEF = 1
;**************************************************************************
; DLL LOAD and FREE
; the following section contain commands to load specific dll libraries and
; to free them
;**************************************************************************
;----------------------------------------------
; a) DETECT LIBRARY
;----------------------------------------------
[LoadSetupLibrary]
LoadLibrary "x" $(STF_CWDDIR)setupdll.dll LIBHANDLE
exit
[FreeSetupLibrary]
FreeLibrary $(LIBHANDLE)
exit
[LoadCiSetupLibrary]
LoadLibrary "x" $(SrcPlatDir)cistp.dll CILIBHANDLE
exit
[FreeCiSetupLibrary]
FreeLibrary $(CILIBHANDLE)
exit
;**************************************************************************
; PROGRESS GUAGE VARIABLES
;**************************************************************************
[ProgressCopyENG]
ProCaption = "Microsoft Index Server for Microsoft Windows NT Setup"
ProCancel = "Cance&l"
ProCancelMsg = "Microsoft Index Server is not correctly installed. Are you sure "+
"you want to cancel copying files?"
ProCancelCap = "Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"
;**************************************************************************
; SHELL COMMANDS SCRIPT
;**************************************************************************
[Shell Commands]
;
; Initialize the app, by setting the caption and loading the support library
;
set TestCopy = 0
set TestReg = 0 ;-sc
set TestRegVerbose = 0
set-title "Microsoft Index Server for Microsoft Windows NT Setup"
set Exit_Code = $(!SETUP_ERROR_GENERAL)
install LoadSetupLibrary
StartWait
;
; read general constants
;
set-subst LF = "\n"
set-subst MQ = \047 ;047=' in octal meta-quote
set-subst DQ = \042 ;042=" in octal double-quote
;
; read the platform independent choices
;
read-syms LanguageID
read-syms ProcessorID
read-syms PlatformID
;
; read the default language and try to detect the language
;
read-syms LanguageVar
detect LanguageVar
;
; read and detect the processor we are working on
;
read-syms ProcessorVar
detect ProcessorVar
read-syms Strings$(!STF_LANGUAGE)
detect Strings$(!STF_LANGUAGE)
read-syms Billboards$(!STF_LANGUAGE)
;
; Check processor type, see if it is supported, if so what platform does it
; belong to.
;
ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I386)
set STF_PLATFORM = $(PlatformID_I386)
else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I486)
set STF_PLATFORM = $(PlatformID_I386)
else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_I586)
set STF_PLATFORM = $(PlatformID_I386)
else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_R4000)
set STF_PLATFORM = $(PlatformID_Mips)
else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_Alpha)
set STF_PLATFORM = $(PlatformID_Alpha)
else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC601)
set STF_PLATFORM = $(PlatformID_ppc)
else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC603)
set STF_PLATFORM = $(PlatformID_ppc)
else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC604)
set STF_PLATFORM = $(PlatformID_ppc)
else-ifstr(i) $(STF_PROCESSOR) == $(ProcessorID_PPC620)
set STF_PLATFORM = $(PlatformID_ppc)
else
shell "" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String1)
ui pop 1
goto setupnotdone
endif
read-syms RegistryConstants
;
; read the UI Variables and detect their setting on the current machine
;
read-syms UiVars
detect UiVars
read-syms Vars$(STF_PLATFORM)
read-syms VarsPlatformCommon
;Makesure all our paths have '\' at the end
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SrcDir)
ifstr(i) $(STATUS) != "ERROR"
set SrcDir = $(STATUS)
endif
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(WinSysDir)
ifstr(i) $(STATUS) != "ERROR"
set WinSysDir = $(STATUS)
endif
;
; Append processor architecture to source dir
;
set SrcPlatDir = $(SrcDir)$(STF_PLATFORM)
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SrcPlatDir)
ifstr(i) $(STATUS) != "ERROR"
set SrcPlatDir = $(STATUS)
endif
;
; Call the library function to see if we have admin privileges
;
LibraryProcedure STATUS, $(!LIBHANDLE), TestAdmin
ifstr(i) $(STATUS) == "YES"
set UsrRootPerms = "SYSTEM"
else
set UsrRootPerms = "LOSER"
endif
ifstr(i) $(UsrRootPerms) != "SYSTEM"
read-syms RootPermsDlg$(STF_LANGUAGE)
ui start "RootPerms"
ifstr(i) $(DLGEVENT) == "OK"
ui pop 1
goto setupnotdone
else
goto setupnotdone
endif
endif
EndWait
;
; Try a couple locations for the help file. We'll do better later, after the welcome
; screen, when we query the user for file locations.
;
set FileToCheck = $(SrcPlatDir)cistp.hlp
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(FileToCheck)
ifstr(i) $(STATUS) != YES
set FileToCheck = $(SrcDir)cistp.hlp
endif
SetHelpFile $(FileToCheck) 98314 98314
set StartFolder = $(STF_WINDOWSPATH)"\Profiles\All Users\Start Menu\Programs\Microsoft Index Server (Common)"
welcome =+
set fW3SvcStopped = STATUS_FAILED
read-syms WelcomeDlg$(STF_LANGUAGE)
ui start "WelcomeMe"
ifstr(i) $(DLGEVENT) == "CONTINUE"
ui pop 1
goto setsource
else-ifstr(i) $(DLGEVENT) == "EXIT"
shell "" QueryUserQuit
ifstr(i) $($R1) == "OK"
ui pop 1
goto setupnotdone
else
goto welcome
endif
else
goto end
endif
querysource =+
shell "" DoAskPathEx $(SrcDir) $(String3) $(String6)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto setupnotdone
endif
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set SrcDir = $($R1)
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SrcDir)
ifstr(i) $(STATUS) != "ERROR"
set SrcDir = $(STATUS)
endif
set SrcPlatDir = $(SrcDir)$(STF_PLATFORM)
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(SrcPlatDir)
ifstr(i) $(STATUS) != "ERROR"
set SrcPlatDir = $(STATUS)
endif
else
goto setupnotdone
endif
setsource =+
;
; Check for proper location
;
set FileToCheck = $(SrcPlatDir)query.dll
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(FileToCheck)
ifstr(i) $(STATUS) == YES
goto loadcilib
else
;
; Try platform independent location
;
set FileToCheck = $(SrcDir)query.dll
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(FileToCheck)
ifstr(i) $(STATUS) == YES
set SrcPlatDir = $(SrcDir)
goto loadcilib
else
goto querysource
endif
endif
loadcilib =+
install LoadCiSetupLibrary
setdestination =+
;
; Code should go here to set destination for sample .htm, .idq, and .htx files.
;
shell "" GetIISDirs
ifstr(i) $($R0) != STATUS_SUCCESSFUL
shell "" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String19)
ui pop 1
goto setupnotdone
endif
set ScriptDir = $($R1)
set HomeDir = $($R2)
shell "" CheckIISUnloadISAPI
ifstr(i) $($R0) != STATUS_SUCCESSFUL
shell "" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String2)
ui pop 1
goto setupnotdone
endif
setscript =+
set DefScriptDir = $(ScriptDir)
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(DefScriptDir)
ifstr(i) $(STATUS) != "ERROR"
set DefScriptDir = $(STATUS)
endif
shell "" DoAskPathEx $(ScriptDir) $(String20) $(String6)
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set ScriptDir = $($R1)
else
goto setupnotdone
endif
LibraryProcedure IsFullPath $(!LIBHANDLE) CheckPathFullPathSpec $(ScriptDir)
ifstr(i) $(IsFullPath) == "No"
shell "" SetupMessage $(!STF_LANGUAGE) NONFATAL $(String5)
ui pop 1
goto setscript
endif
shell "" DoMakeDir $(ScriptDir)Samples
;
; Clean up from previous install (if any)
;
shell "" RemoveVRoot /Scripts/samples/search
shell "" RemoveVRoot /Scripts/srchadm
;
; Did the user use a non-default script dir?
;
ifstr(i) $(ScriptDir) != $(DefScriptDir)
set ScriptVDir = "/Scripts"
shell "" AddVRoot $(ScriptVDir)/samples/search $(ScriptDir)Samples\Search "4"
shell "" AddVRoot $(ScriptVDir)/srchadm $(ScriptDir)srchadm "4"
;shell "" DoAskVPathEx $(ScriptVDir) $(String25) $(String6)
;ifstr(i) $($R0) == STATUS_SUCCESS
; set ScriptVDir = $($R1)
;else
; goto setupnotdone
;endif
endif
;
; Set admin permissions on admin scripts
;
shell "" DoMakeDir $(ScriptDir)srchadm
LibraryProcedure RetVal $(!CILIBHANDLE) ApplySystemAcl $(ScriptDir)srchadm
sethome =+
set DefHomeDir = $(HomeDir)
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(DefHomeDir)
ifstr(i) $(STATUS) != "ERROR"
set DefHomeDir = $(STATUS)
endif
shell "" DoAskPathEx $(HomeDir) $(String21) $(String6)
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set HomeDir = $($R1)
else
goto setupnotdone
endif
LibraryProcedure IsFullPath $(!LIBHANDLE) CheckPathFullPathSpec $(HomeDir)
ifstr(i) $(IsFullPath) == "No"
shell "" SetupMessage $(!STF_LANGUAGE) NONFATAL $(String5)
ui pop 1
goto sethome
endif
;Make sure all our paths have '\' at the end
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(ScriptDir)
ifstr(i) $(STATUS) != "ERROR"
set ScriptDir = $(STATUS)
endif
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(HomeDir)
ifstr(i) $(STATUS) != "ERROR"
set HomeDir = $(STATUS)
endif
shell "" DoMakeDir $(HomeDir)Samples
;
; Clean up from previous install (if any)
;
shell "" RemoveVRoot /samples/search
shell "" RemoveVRoot /srchadm
shell "" RemoveVRoot /SearchHelp
;
; Did the user use a non-default home dir?
;
ifstr(i) $(HomeDir) != $(DefHomeDir)
set HomeVDir = "/"
shell "" AddVRoot $(HomeVDir)samples/search $(HomeDir)Samples\Search "1"
;shell "" DoAskVPathEx $(HomeVDir) $(String26) $(String6)
;ifstr(i) $($R0) == STATUS_SUCCESS
; set HomeVDir = $($R1)
;else
; goto setupnotdone
;endif
endif
;
; Setup root for admin.
;
shell "" DoMakeDir $(HomeDir)srchadm
LibraryProcedure RetVal $(!CILIBHANDLE) ApplySystemAcl $(HomeDir)srchadm
shell "" AddVRoot /srchadm $(HomeDir)srchadm "1"
setcatalog =+
shell "" GetCatalogDir
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set DefCatalogDir = $($R1)
else
split-string $(HomeDir) ":" Tmp
set DefCatalogDir = *($(Tmp), 1):\
endif
; Debug-Output "GetCatalogDir: DefCatalogDir = "$(DefCatalogDir)
shell "" DoAskPathEx $(DefCatalogDir) $(String23) $(String6)
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set CatalogDir = $($R1)
;Make sure all our paths have '\' at the end
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(CatalogDir)
ifstr(i) $(STATUS) != "ERROR"
set CatalogDir = $(STATUS)
endif
set CatalogDir2 = $(CatalogDir)Catalog.wci
;
; Create catalog directory, then set an ACL on it.
;
LibraryProcedure RetVal $(!CILIBHANDLE) MkDir $(CatalogDir2)
ifstr(i) $(RetVal) == "NO"
shell "" SetupMessage $(!STF_LANGUAGE) NONFATAL $(String24)
ui pop 1
goto setcatalog
endif
LibraryProcedure RetVal $(!CILIBHANDLE) ApplySystemAcl $(CatalogDir2)
ifstr(i) $(RetVal) == "NO"
shell "" SetupMessage $(!STF_LANGUAGE) NONFATAL $(String27)
ui pop 1
goto setcatalog
endif
else
goto setupnotdone
endif
shell "" DoSetCatalog $(CatalogDir)
copystuff = +
StartWait
shell "" PushBillboard STATUSDLG $(Billboard4)
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\net.exe stop w3svc
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\net.exe stop msftpsvc
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\net.exe stop gophersvc
set fW3SvcStopped = STATUS_SUCCESSFUL
shell "" PopBillboard
shell "" PushBillboard STATUSDLG $(Billboard1)
install ICopySearchFiles
shell "" PopBillboard
EndWait
finish = +
read-syms ProgressCopy$(STF_LANGUAGE)
install Install-All-Files-Now
ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_SUCCESS"
goto dosamples
else
shell "" SetupMessage $(!STF_LANGUAGE) "FATAL" $(String4)
ui pop 1
goto setupnotdone
endif
dosamples =+
StartWait
shell "" PushBillboard STATUSDLG $(Billboard6)
shell "" DoCatalogSection "Files-SampleIDQ" $(ScriptDir)Samples\Search\ $(CatalogDir)
shell "" DoCatalogSection "Files-AdminIDQ" $(ScriptDir)srchadm\ $(CatalogDir)
shell "" DoURLSection "Files-URL" $(StartFolder)
LibraryProcedure ReturnVal $(!CILIBHANDLE) RemoveHF $(HomeDir)Samples\Search\qrylang.htm
LibraryProcedure ReturnVal $(!CILIBHANDLE) Replace $(HomeDir)Samples\Search\qrylang.htm "#TOP" "#QueryLanguage"
;ifstr(i) $(ScriptDir) != $(DefScriptDir)
; shell "" DoScriptSection "Files-SampleIDQ" $(ScriptDir)Samples\Search\ $(ScriptVDir)
; shell "" DoScriptSection "Files-AdminIDQ" $(ScriptDir)srchadm\ $(ScriptVDir)
; shell "" DoScriptSection "Files-SampleHTM" $(HomeDir)Samples\Search\ $($ScriptVDir)
; shell "" DoScriptSection "Files-AdminHTM" $(HomeDir)srchadm\ $($ScriptVDir)
;endif
;ifstr(i) $(HomeDir) != $(DefHomeDir)
; shell "" DoHomeSection "Files-SampleHTM" $(HomeDir)Samples\Search\ $(HomeVDir)
; shell "" DoHomeSection "Files-AdminHTM" $(HomeDir)srchadm\ $(HomeVDir)
;endif
shell "" PopBillboard
EndWait
doregistry =+
StartWait
shell "" PushBillboard STATUSDLG $(Billboard2)
shell "" DoRegistrySection "CI.IIS"
shell "" DoRegistrySection "CI.ContentIndex"
LibraryProcedure RetVal $(!CILIBHANDLE) IsALargeMachine
ifstr(i) $(RetVal) == "1 NO"
shell "" DoRegistrySection "CI.ContentIndexSmall"
else-ifstr(i) $(RetVal) == "1 YES"
shell "" DoRegistrySection "CI.ContentIndexLarge"
else-ifstr(i) $(RetVal) == "2 NO"
shell "" DoRegistrySection "CI.ContentIndexSmallMP2"
else-ifstr(i) $(RetVal) == "2 YES"
shell "" DoRegistrySection "CI.ContentIndexLargeMP2"
else
shell "" DoRegistrySection "CI.ContentIndexLargeMPMany"
endif
shell "" DoRegistrySection "CI.Performance"
shell "" DoPersHandlerSection "CI.PersHandlers"
shell "" DoRegistrySection "CI.HtmlFilter"
shell "" DoInprocHandlerSection "CI.Filters"
shell "" DoClassSection "CI.Classes"
shell "" DoLanguageSection "CI.LangRes"
shell "" DoInprocHandlerSection "CI.LangClass"
shell "" DoIDQLanguageSection "CI.LangIDQ"
shell "" PopBillboard
EndWait
doperfctr =+
StartWait
shell "" PushBillboard STATUSDLG $(Billboard3)
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\unlodctr.exe ContentIndex
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Perf\perfci.ini
ifstr(i) $(STATUS) == YES
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\lodctr.exe $(SrcDir)Perf\perfci.ini
else
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\lodctr.exe $(SrcDir)perfci.ini
endif
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\unlodctr.exe ContentFilter
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Perf\perffilt.ini
ifstr(i) $(STATUS) == YES
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\lodctr.exe $(SrcDir)Perf\perffilt.ini
else
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\lodctr.exe $(SrcDir)perffilt.ini
endif
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\unlodctr.exe ISAPISearch
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Perf\perfwci.ini
ifstr(i) $(STATUS) == YES
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\lodctr.exe $(SrcDir)Perf\perfwci.ini
else
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\lodctr.exe $(SrcDir)perfwci.ini
endif
shell "" PopBillboard
shell "" PushBillboard STATUSDLG $(Billboard5)
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\net.exe start w3svc
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\net.exe start msftpsvc
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\net.exe start gophersvc
shell "" PopBillboard
EndWait
setupdone=+
set Exit_Code = $(!SETUP_ERROR_SUCCESS)
read-syms SetupDoneDlg$(!STF_LANGUAGE)
ui start "DoneWithThis"
ifstr(i) $(DLGEVENT) == "CONTINUE"
ui pop 1
goto end
else
goto end
endif
setupnotdone=+
ifstr(i) $(fW3SvcStopped) == STATUS_SUCCESSFUL
shell "" PushBillboard STATUSDLG $(Billboard5)
LibraryProcedure RetVal $(!CILIBHANDLE) RunProgram $(!STF_WINDOWSSYSPATH)\net.exe start w3svc
shell "" PopBillboard
endif
read-syms SetupNotDoneDlg$(!STF_LANGUAGE)
EndWait
ui start "NotDoneMakingAMess"
ifstr(i) $(DLGEVENT) == "CONTINUE"
ui pop 1
goto end
else
goto end
endif
end = +
install FreeSetupLibrary
install FreeCiSetupLibrary
exit
;*****************************************************************
; *
; INSTALLATION SUPPORT ROUTINES *
; *
;*****************************************************************
;**************************************************************************
;
; DoSetCatalog
;
; Creates catalog directory registry node.
;
; $0 Catalog directory
;
;**************************************************************************
[DoSetCatalog]
set Status = STATUS_FAILED
set hKey = $(!REG_H_LOCAL)
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"system", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"currentcontrolset", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"control", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"contentindex", $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"IsapiDefaultCatalogDirectory", $(!NoTitle), $(!REG_VT_SZ), $($0)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
set OurKeyList = >($(OurKeyList), {"IsapiVirtualServerCatalogs", $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), $($0)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
set Status = $($R0)
CloseRegKey $($R1)
return $(Status)
;**************************************************************************
;
; DoScriptSection
;
; Modifies data in script files to point to script virtual root
;
; $0 Section name to act upon
; $1 Target directory into which files in $0 were copied
; $2 Name of new script directory
;
;**************************************************************************
[DoScriptSection]
set Files = ^($($0), 2)
ForListDo $(Files)
LibraryProcedure ReturnVal $(!CILIBHANDLE) Replace $($1)*($(Files), $(#)) /scripts $($2)
EndForListDo
return
;**************************************************************************
;
; DoHomeSection
;
; Modifies data in sample HTM files to point to script themselves.
;
; $0 Section name to act upon
; $1 Target directory into which files in $0 were copied
; $2 Name of new script directory
;
;**************************************************************************
[DoHomeSection]
set Files = ^($($0), 2)
set-subst DQ = \042 ;042=" in octal double-quote
set TheString = "NAME"+
"="+
$(DQ)+
"HTMLQueryForm"+
$(DQ)+
" VALUE="+
$(DQ)
ForListDo $(Files)
LibraryProcedure ReturnVal $(!CILIBHANDLE) Replace $($1)*($(Files), $(#)) $(TheString)/samples $(TheString)$($2)/samples
EndForListDo
return
;**************************************************************************
;
; DoCatalogSection
;
; Modifies data in script files to point to catalog
;
; $0 Section name to act upon
; $1 Target directory into which files in $0 were copied
; $2 Name of new script directory
;
;**************************************************************************
[DoCatalogSection]
set Files = ^($($0), 2)
ForListDo $(Files)
LibraryProcedure ReturnVal $(!CILIBHANDLE) Replace $($1)*($(Files), $(#)) d:\ $($2)
EndForListDo
return
;**************************************************************************
;
; DoURLSection
;
; Modifies URLs to point to machine
;
; $0 Section name to act upon
; $1 Target directory into which files in $0 were copied
;
;**************************************************************************
[DoURLSection]
set Files = ^($($0), 4)
ForListDo $(Files)
split-string *($(Files), $(#)) "=" Tmp
LibraryProcedure ReturnVal $(!CILIBHANDLE) Replace $($1)\*($(Tmp), 3) machname $(!STF_COMPUTERNAME)
EndForListDo
return
;**************************************************************************
;
; DoMakeDir
;
; Build up directory path
;
; $0 Path spec
;
;**************************************************************************
[DoMakeDir]
set FullPath = ""
split-string $($0) "\" Tmp
ForListDo $(Tmp)
set FullPath = $(FullPath)$($)
ifstr(i) $($) != "\"
LibraryProcedure RetVal $(!CILIBHANDLE) MkDir $(FullPath)
endif
EndForListDo
return
;**************************************************************************
;
; DoRegistrySection
;
; Adds keys listed in specified section
;
; $0 Section name to act upon
;
;**************************************************************************
[DoRegistrySection]
set hKeyList = ^($($0), 1)
set KeyTreeList = ^($($0), 2)
set ValNameList = ^($($0), 3)
set ValTypeList = ^($($0), 4)
set ValDataList = ^($($0), 5)
; build up our parameters for CreateKey.
; $1 - key for root hive
; $2 - {keylist, $(NoTitle), $(AccessMask)}
; $3 - { {ValueName1,0,$(!REG_VT_SZ),$(ValueData1)}, +
; {ValueName2,0,$(!REG_VT_SZ),$(ValueData2)} }
ForListDo $(hKeyList)
ifstr(i) *($(hKeyList), $(#)) == "hkcu"
set hKey = $(!REG_H_CUSER)
else-ifstr(i) *($(hKeyList), $(#)) == "hklm"
set hKey = $(!REG_H_LOCAL)
else-ifstr(i) *($(hKeyList), $(#)) == "hkcr"
set hKey = $(!REG_H_CLASSES)
endif
;build up our KeyList
set OurKeyList = {}
split-string *($(KeyTreeList), $(#)) "\" Tmp
ForListDo $(Tmp)
ifstr(i) $($) != "\"
set OurKeyList = >($(OurKeyList), {$($), $(!NoTitle), $(!MaskAllAccess)})
endif
EndForListDo
;build up Value List
set SlamValueList = {}
ifcontains *($(ValTypeList), $(#)) in {"0", "2"}
set SlamValueList = >($(SlamValueList), {*($(ValNameList), $(#)), $(!NoTitle), $(!REG_VT_SZ), *($(ValDataList), $(#))})
else-ifcontains *($(ValTypeList), $(#)) in {"5"}
set SlamValueList = >($(SlamValueList), {*($(ValNameList), $(#)), $(!NoTitle), $(!REG_VT_EXPAND_SZ), *($(ValDataList), $(#))})
else-ifcontains *($(ValTypeList), $(#)) in {"4"}
set-hextodec Dec = *($(ValDataList), $(#))
set SlamValueList = >($(SlamValueList), {*($(ValNameList), $(#)), $(!NoTitle), $(!REG_VT_DWORD), $(Dec)})
else-ifcontains *($(ValTypeList), $(#)) in {"1", "3"}
set Numbers = {}
split-string *($(ValDataList), $(#)) "," Tmp
ForListDo $(Tmp)
ifstr $($) != ","
set-hextodec Dec = $($)
set Numbers = >($(Numbers), $(Dec))
endif
EndForListDo
set SlamValueList = >($(SlamValueList), {*($(ValNameList), $(#)), $(!NoTitle), $(!REG_VT_BINARY), $(Numbers)})
endif
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
EndForListDo
return
;**************************************************************************
;
; DoPersHandlerSection
;
; Adds persistent handler specification(s)
;
; $0 Section name to act upon
;
;**************************************************************************
[DoPersHandlerSection]
set Clsid = ^($($0), 1)
set Desc = ^($($0), 2)
set InprocHandler = ^($($0), 3)
; build up our parameters for CreateKey.
; $1 - key for root hive
; $2 - {keylist, $(NoTitle), $(AccessMask)}
; $3 - { {ValueName1,0,$(!REG_VT_SZ),$(ValueData1)}, +
; {ValueName2,0,$(!REG_VT_SZ),$(ValueData2)} }
ForListDo $(Clsid)
set hKey = $(!REG_H_CLASSES)
;build up our KeyList
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"CLSID", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {*($(Clsid), $(#)), $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), *($(Desc), $(#))})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
;build up our KeyList
set OurKeyList = >($(OurKeyList), {"PersistentAddinsRegistered", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"{89BCB740-6119-101A-BCB7-00DD010655AF}", $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), *($(InprocHandler), $(#))})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
EndForListDo
return
;**************************************************************************
;
; DoInprocHandlerSection
;
; Adds InprocHandler specification(s)
;
; $0 Section name to act upon
;
;**************************************************************************
[DoInprocHandlerSection]
set Clsid = ^($($0), 1)
set Desc = ^($($0), 2)
set InprocServer = ^($($0), 3)
; build up our parameters for CreateKey.
; $1 - key for root hive
; $2 - {keylist, $(NoTitle), $(AccessMask)}
; $3 - { {ValueName1,0,$(!REG_VT_SZ),$(ValueData1)}, +
; {ValueName2,0,$(!REG_VT_SZ),$(ValueData2)} }
ForListDo $(Clsid)
set hKey = $(!REG_H_CLASSES)
;build up our KeyList
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"CLSID", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {*($(Clsid), $(#)), $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), *($(Desc), $(#))})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
;build up our KeyList
set OurKeyList = >($(OurKeyList), {"InprocServer32", $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), *($(InprocServer), $(#))})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
EndForListDo
return
;**************************************************************************
;
; DoLanguageSectionSection
;
; Adds IFilter InprocHandler specification(s)
;
; $0 Section name to act upon
;
;**************************************************************************
[DoLanguageSection]
set Name = ^($($0), 1)
set Locale = ^($($0), 2)
set WBClsid = ^($($0), 3)
set StemClsid = ^($($0), 4)
set NoiseFile = ^($($0), 5)
; build up our parameters for CreateKey.
; $1 - key for root hive
; $2 - {keylist, $(NoTitle), $(AccessMask)}
; $3 - { {ValueName1,0,$(!REG_VT_SZ),$(ValueData1)}, +
; {ValueName2,0,$(!REG_VT_SZ),$(ValueData2)} }
ForListDo $(Name)
set hKey = $(!REG_H_LOCAL)
;
; Append name to language section.
;
shell "" GetValue $(hKey) "system\currentcontrolset\control\ContentIndex\Language" "InstalledLangs"
set Ok = STATUS_FAILED
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set LangList = *($($R1),4)
;
; Check to see if the language already exists.
;
set NewLang = *($(Name), $(#))
set Ok = STATUS_SUCCESS
ForListDo $(LangList)
ifstr(i) $($) == $(NewLang)
set Ok = STATUS_FAILED
endif
EndForListDo
ifstr(i) $(Ok) == STATUS_SUCCESS
set LangList = >($(LangList) *($(Name), $(#)))
endif
else
set Ok = STATUS_SUCCESS
set LangList = {}
set LangList = >($(LangList) *($(Name), $(#)))
endif
;build up our KeyList
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"system", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"currentcontrolset", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"control", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"contentindex", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"language", $(!NoTitle), $(!MaskAllAccess)})
ifstr(i) $(Ok) == STATUS_SUCCESS
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"InstalledLangs", $(!NoTitle), $(!REG_VT_MULTI_SZ), $(LangList)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
endif
;
; Add parameters
;
set OurKeyList = >($(OurKeyList), {*($(Name), $(#)), $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"Locale", $(!NoTitle), $(!REG_VT_DWORD), *($(Locale), $(#))})
set SlamValueList = >($(SlamValueList), {"WBreakerClass", $(!NoTitle), $(!REG_VT_SZ), *($(WBClsid), $(#))})
set SlamValueList = >($(SlamValueList), {"StemmerClass", $(!NoTitle), $(!REG_VT_SZ), *($(StemClsid), $(#))})
set SlamValueList = >($(SlamValueList), {"NoiseFile", $(!NoTitle), $(!REG_VT_SZ), *($(NoiseFile), $(#))})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
EndForListDo
return
;**************************************************************************
;
; DoIDQLanguageSection
;
; Adds error template names to language keys
;
; $0 Section name to act upon
;
;**************************************************************************
[DoIDQLanguageSection]
set Name = ^($($0), 1)
set IDQError = ^($($0), 2)
set HTXError = ^($($0), 3)
set RestError = ^($($0), 4)
set DefError = ^($($0), 5)
; build up our parameters for CreateKey.
; $1 - key for root hive
; $2 - {keylist, $(NoTitle), $(AccessMask)}
; $3 - { {ValueName1,0,$(!REG_VT_SZ),$(ValueData1)}, +
; {ValueName2,0,$(!REG_VT_SZ),$(ValueData2)} }
ForListDo $(Name)
set hKey = $(!REG_H_LOCAL)
;
; Append name to language section.
;
;build up our KeyList
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"system", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"currentcontrolset", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"control", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"contentindex", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"language", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {*($(Name), $(#)), $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"ISAPIIDQErrorFile", $(!NoTitle), $(!REG_VT_SZ), *($(IDQError), $(#))})
set SlamValueList = >($(SlamValueList), {"ISAPIHTXErrorFile", $(!NoTitle), $(!REG_VT_SZ), *($(HTXError), $(#))})
set SlamValueList = >($(SlamValueList), {"ISAPIRestrictionErrorFile", $(!NoTitle), $(!REG_VT_SZ), *($(RestError), $(#))})
set SlamValueList = >($(SlamValueList), {"ISAPIDefaultErrorFile", $(!NoTitle), $(!REG_VT_SZ), *($(DefError), $(#))})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
EndForListDo
return
;**************************************************************************
;
; DoClassSection
;
; Adds/modifies class specification(s)
;
; $0 Section name to act upon
;
;**************************************************************************
[DoClassSection]
set ShortName = ^($($0), 1)
set Clsid = ^($($0), 2)
set Desc = ^($($0), 3)
set PersHandler = ^($($0), 4)
set Exts = ^($($0), 5)
; build up our parameters for CreateKey.
; $1 - key for root hive
; $2 - {keylist, $(NoTitle), $(AccessMask)}
; $3 - { {ValueName1,0,$(!REG_VT_SZ),$(ValueData1)}, +
; {ValueName2,0,$(!REG_VT_SZ),$(ValueData2)} }
ForListDo $(ShortName)
set hKey = $(!REG_H_CLASSES)
set DefShortName = *($(ShortName), $(#))
set DefClsid = *($(Clsid), $(#))
set DefDesc = *($(Desc), $(#))
set DefPersHandler = *($(PersHandler), $(#))
split-string *($(Exts), $(#)) "," Tmp
ForListDo $(Tmp)
ifstr(i) $($) != ","
set DefExt = $($)
;
; Does the extension to short name already exist?
;
shell "" GetValue $(hKey) $(DefExt) ""
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set OurShortName = *($($R1),4)
; shell "" SetupMessage $(!STF_LANGUAGE) NONFATAL "Short name "$(OurShortName)
else
set OurShortName = $(DefShortName)
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {$(DefExt), $(!NoTitle), $(!MaskAllAccess)})
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), $(DefShortName)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
;
; Does the short name already exist?
;
shell "" GetValue $(hKey) $(DefShortName) ""
ifstr(i) $($R0) != STATUS_SUCCESSFUL
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {$(DefShortName), $(!NoTitle), $(!MaskAllAccess)})
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), $(DefDesc)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
endif
endif
;
; Does the CLSID already exist? If so, we need to use it.
;
set Key = $(OurShortName)\CLSID
shell "" GetValue $(hKey) $(Key) ""
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set OurClsid = *($($R1),4)
; shell "" SetupMessage $(!STF_LANGUAGE) NONFATAL "ClassId "$(OurClsid)
else
set OurClsid = $(DefClsid)
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {$(OurShortName), $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"CLSID", $(!NoTitle), $(!MaskAllAccess)})
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), $(DefClsid)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"CLSID", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {$(DefClsid), $(!NoTitle), $(!MaskAllAccess)})
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), $(DefDesc)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
endif
;
; We may already have added the persistent handler.
;
set Key = CLSID\$(OurClsid)\PersistentHandler
shell "" GetValue $(hKey) $(Key) ""
ifstr(i) $($R0) != STATUS_SUCCESSFUL
;
; Add persistent handler
;
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"CLSID", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {$(OurClsid), $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"PersistentHandler", $(!NoTitle), $(!MaskAllAccess)})
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), $(DefPersHandler)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
endif
endif
;
; Add a persistent handler to IE 3.0 CLSID, to account for the case where
; IE 3.0 is installed after Index Server, and IE 3.0 overwrites OurShortName\CLSID
;
set isIEKey = "FALSE"
ifstr(i) $(DefShortName) == "htmlfile"
; Debug-Output "DefShortName is htmlfile"
set isIEKey = "TRUE"
endif
ifstr(i) $(isIEKey) != "FALSE"
ifstr(i) $(OurClsid) != $(DefClsid)
; Debug-Output "Setting up DefClsid\PersistentHandler for IE 3.0"
set Key = CLSID\$(DefClsid)\PersistentHandler
shell "" GetValue $(hKey) $(Key) ""
ifstr(i) $($R0) != STATUS_SUCCESSFUL
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"CLSID", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {$(DefClsid), $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"PersistentHandler", $(!NoTitle), $(!MaskAllAccess)})
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {"", $(!NoTitle), $(!REG_VT_SZ), $(DefPersHandler)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
endif
endif
endif
endif
EndForListDo
EndForListDo
return
;**************************************************************************
;
; RemoveVRoot
;
; Remove virtual root
;
; $0 : virtual root to remove
;
;**************************************************************************
[RemoveVRoot]
set Status = STATUS_FAILED
set UserAction = CANCEL
set hKey = $(!REG_H_LOCAL)
;build up our KeyList
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"system", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"currentcontrolset", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"services", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"w3svc", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"parameters", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"virtual roots", $(!NoTitle), $(!MaskAllAccess)})
shell "" DeleteValue $(hKey) $(OurKeyList) $($0)
CloseRegKey $($R1)
shell "" DeleteValue $(hKey) $(OurKeyList) $($0)","
CloseRegKey $($R1)
return
;**************************************************************************
;
; AddVRoot
;
; Add virtual root
;
; $0 : virtual root to add
; $1 : physical path
; $2 : Type: 1 = read, 4 = execute
;
;**************************************************************************
[AddVRoot]
set Status = STATUS_FAILED
set UserAction = CANCEL
set hKey = $(!REG_H_LOCAL)
;build up our KeyList
set OurKeyList = {}
set OurKeyList = >($(OurKeyList), {"system", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"currentcontrolset", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"services", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"w3svc", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"parameters", $(!NoTitle), $(!MaskAllAccess)})
set OurKeyList = >($(OurKeyList), {"virtual roots", $(!NoTitle), $(!MaskAllAccess)})
;build up Value List
set SlamValueList = {}
set SlamValueList = >($(SlamValueList), {$($0), $(!NoTitle), $(!REG_VT_SZ), $($1)",,"$($2)})
shell "" CreateKey $(hKey) $(OurKeyList) $(SlamValueList)
CloseRegKey $($R1)
return
;**************************************************************************
;
; GetIISDirs
;
; Attempts to locate Script and Home directories for IIS
;
; Returns: $R0: Status: STATUS_SUCCESSFUL
; STATUS_FAILED
;
; $R1: Script directory
;
; $R2: Home directory
;
;**************************************************************************
[GetIISDirs]
set Script = ""
set Home = ""
;
; First, check for service
;
set hKey = $(!REG_H_LOCAL)
shell "" GetValue $(hKey) "system\currentcontrolset\services\w3svc" "Start"
ifstr(i) $($R0) != STATUS_SUCCESSFUL
goto FailIIS
endif
shell "" GetValue $(hKey) "system\currentcontrolset\services\w3svc\parameters\virtual roots" "/Scripts"
ifstr(i) $($R0) == STATUS_SUCCESSFUL
split-string *($($R1),4) "," Tmp
set Script = *($(Tmp),1)
endif
shell "" GetValue $(hKey) "system\currentcontrolset\services\w3svc\parameters\virtual roots" "/Scripts,"
ifstr(i) $($R0) == STATUS_SUCCESSFUL
split-string *($($R1),4) "," Tmp
set Script = *($(Tmp),1)
endif
shell "" GetValue $(hKey) "system\currentcontrolset\services\w3svc\parameters\virtual roots" "/"
ifstr(i) $($R0) == STATUS_SUCCESSFUL
split-string *($($R1),4) "," Tmp
set Home = *($(Tmp),1)
endif
shell "" GetValue $(hKey) "system\currentcontrolset\services\w3svc\parameters\virtual roots" "/,"
ifstr(i) $($R0) == STATUS_SUCCESSFUL
split-string *($($R1),4) "," Tmp
set Home = *($(Tmp),1)
endif
set Status = STATUS_SUCCESSFUL
goto DoneIIS
FailIIS =+
set Status = STATUS_FAILED
DoneIIS =+
return $(Status) $(Script) $(Home)
;**************************************************************************
;
; CheckIISUnloadISAPI
;
; Check to see if ISAPI dlls are unloaded after every call.
;
; Returns: $R0: Status: STATUS_SUCCESSFUL
; STATUS_FAILED
;
;**************************************************************************
[CheckIISUnloadISAPI]
;
; First, check for service
;
set hKey = $(!REG_H_LOCAL)
shell "" GetValue $(hKey) "system\currentcontrolset\services\w3svc\parameters" "CacheExtensions"
ifstr(i) $($R0) != STATUS_SUCCESSFUL
goto FailCheckIIS
endif
ifstr(i) *($($R1),4) != "1"
goto FailCheckIIS
endif
set Status = STATUS_SUCCESSFUL
goto DoneCheckIIS
FailCheckIIS =+
set Status = STATUS_FAILED
DoneCheckIIS =+
return $(Status) $(R1)
;**************************************************************************
;
; GetCatalogDir
;
; Attempts to locate previously installed catalog directory for Index Server
;
; Returns: $R0: Status: STATUS_SUCCESSFUL
; STATUS_FAILED
;
; $R1: Catalog directory
;
;**************************************************************************
[GetCatalogDir]
set CatalogDir = ""
;
; First, check for service
;
set hKey = $(!REG_H_LOCAL)
shell "" GetValue $(hKey) "system\currentcontrolset\control\ContentIndex" "ISAPIDefaultCatalogDirectory"
ifstr(i) $($R0) != STATUS_SUCCESSFUL
goto FailGetCatalog
endif
set Tmp = *($($R1),4)
ifstr(i) $(Tmp) == ""
goto FailGetCatalog
endif
set Status = STATUS_SUCCESSFUL
goto DoneGetCatalog
FailGetCatalog =+
set Status = STATUS_FAILED
DoneGetCatalog =+
return $(Status) $(Tmp)
;**************************************************************************
;
; DoesPerfExist
;
; Attempts to determine whether performance counters have already
; been installed.
;
; Input: $0: One of ContentIndex, ContentFilter, ISAPISearch
;
; Returns: $R0: Status: STATUS_SUCCESSFUL --> Perf counters exist
; STATUS_FAILED --> No perf counters
;
;**************************************************************************
[DoesPerfExist]
;
; Check for key added by lodctr
;
set hKey = $(!REG_H_LOCAL)
set Key = "system\currentcontrolset\services\"$($0)"\Performance"
shell "" GetValue $(hKey) $(Key) "First Counter"
return $($R0)
;**************************************************************************
;
; GetValue
;
; Checks if key is present, and if so, returns the value
;
; $0 Key Handle
; $1 Key name
; $2 Value Name
;
;**************************************************************************
[GetValue]
set Status = STATUS_FAILED
read-syms RegistryConstants
OpenRegKey $($0) "" $($1) $(!REG_KEY_READ) TempKey
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
; Debug-Output "REGISTRY.INF: OpenRegKey Failed: "$($)" "$($0)" "$($1)" "$($2)
goto end_get_value
endif
GetRegValue $(TempKey), $($2), KeyValue
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
; Debug-Output "REGISTRY.INF: GetRegValue Failed:"$($)
CloseRegKey $(TempKey)
goto end_get_value
endif
set Status = STATUS_SUCCESSFUL
end_get_value = +
return $(Status) $(KeyValue)
;-----------------------------------------------------------------------
; ROUTINE: CreateKey
;
; DESCRIPTION: Creates a key and fixes the values indicated.
; Key is Handle\Key1\Key2\...\Keyn. Value list
; is for Valuen.
;
; INPUTS: $0: Handle into registry
; $1: KeyTreeComponents {Key1Info, Key2Info..}
; $2: ValueList {Value1Info, Value2Info, Value3Info}
;
; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL
; STATUS_FAILED
; STATUS_ERROR_CREATEKEY
; STATUS_ERROR_CREATEVALUE
;
; $R1: Handle to created key
;
;------------------------------------------------------------------------
[CreateKey]
; ifint $(!TestRegVerbose) == 1
; Debug-Output ".INF: CreateKey $0 = "$($0)
; Debug-Output ".INF: CreateKey $1 = "$($1)
; Debug-Output ".INF: CreateKey $2 = "$($2)
; endif
;
; Initialize
;
set Status = STATUS_FAILED
read-syms RegistryConstants
;
; traverse down the keytreecomponents and open/create components as
; you go along
;
set BaseHandle = $($0)
set KeyHandle = $(BaseHandle)
ForListDo $($1)
set KeyInfo = $($)
set KeyName = *($(KeyInfo), 1)
;
; Try opening the key first
OpenRegKey $(BaseHandle) "" $(KeyName) $(MaskAllAccess) KeyHandle
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
;
; Key doesn't exist
;
; Debug-Output "REGISTRY.INF: Key"$(KeyName)"doesn't exist. Will create key"
set RegLastError = 0
CreateRegKey $(BaseHandle) $(KeyInfo) "" $(MaskAllAccess) "" KeyHandle
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
set Status = STATUS_ERROR_CREATEKEY
; Debug-Output "REGISTRY.INF: Error in creating key"
goto endcreate
endif
endif
ifstr(i) $(BaseHandle) != $($0)
CloseRegKey $(BaseHandle)
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
set Status = STATUS_ERROR_CREATEKEY
; Debug-Output "REGISTRY.INF: Error in closing base handle"
goto endcreate
endif
endif
set BaseHandle = $(KeyHandle)
EndForListDo
ifstr(i) $($2) != {}
shell "" AddValueList $(KeyHandle) $($2)
ifstr(i) $($R0) != STATUS_SUCCESSFUL
set Status = STATUS_ERROR_CREATEVALUE
goto endcreate
endif
endif
set Status = STATUS_SUCCESSFUL
endcreate = +
ifstr(i) $(Status) != STATUS_SUCCESSFUL
; Debug-Output "REGISTRY.INF: CreateKey Error:"$(Status)
endif
Return $(Status) $(KeyHandle)
;-----------------------------------------------------------------------
; ROUTINE: DeleteValue
;
; DESCRIPTION: Deletes a value.
;
; INPUTS: $0: Handle into registry
; $1: KeyTreeComponents {Key1Info, Key2Info..}
; $2: ValueList {Value1Info, Value2Info, Value3Info}
;
; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL
; STATUS_FAILED
; STATUS_ERROR_CREATEKEY
; STATUS_ERROR_CREATEVALUE
;
; $R1: Handle to created key
;
;------------------------------------------------------------------------
[DeleteValue]
; ifint $(!TestRegVerbose) == 1
; Debug-Output ".INF: CreateKey $0 = "$($0)
; Debug-Output ".INF: CreateKey $1 = "$($1)
; Debug-Output ".INF: CreateKey $2 = "$($2)
; endif
;
; Initialize
;
set Status = STATUS_FAILED
read-syms RegistryConstants
;
; traverse down the keytreecomponents and open/create components as
; you go along
;
set BaseHandle = $($0)
set KeyHandle = $(BaseHandle)
ForListDo $($1)
set KeyInfo = $($)
set KeyName = *($(KeyInfo), 1)
;
; Try opening the key first
OpenRegKey $(BaseHandle) "" $(KeyName) $(MaskAllAccess) KeyHandle
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
;
; Key doesn't exist
;
; Debug-Output "REGISTRY.INF: Key"$(KeyName)"doesn't exist. Will create key"
goto enddelete
endif
ifstr(i) $(BaseHandle) != $($0)
CloseRegKey $(BaseHandle)
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
set Status = STATUS_ERROR_CREATEKEY
; Debug-Output "REGISTRY.INF: Error in closing base handle"
goto endcreate
endif
endif
set BaseHandle = $(KeyHandle)
EndForListDo
DeleteRegValue $(KeyHandle) $($2)
set Status = STATUS_SUCCESSFUL
enddelete = +
ifstr(i) $(Status) != STATUS_SUCCESSFUL
; Debug-Output "REGISTRY.INF: CreateKey Error:"$(Status)
endif
Return $(Status) $(KeyHandle)
;*************************************************************************
;
; SECTION: AddValueList
;
; PURPOSE: Given a nested list of value items, add each to the given
; key. Key is left open.
;
; ARGUMENTS: $0 Registry key handle
; $1 List of value items; for example:
; { {ValueName1,0,$(!REG_VT_SZ),$(ValueData1)}, +
; {ValueName2,0,$(!REG_VT_SZ),$(ValueData2)} }
;
; RETURNS: $R0 Status
;
;
;*************************************************************************
[AddValueList]
set Status = STATUS_FAILED
read-syms RegistryConstants
ForListDo $($1)
SetRegValue $($0) $($)
ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
; Debug-Output "REGISTRY.INF: CreateValue failed:"$($)
goto end_addvaluelist
endif
EndForListDo
set Status = STATUS_SUCCESSFUL
end_addvaluelist = +
return $(Status)
;-----------------------------------------------------------------------
; ROUTINE: QueryUserQuit
;
; DESCRIPTION: This routine queries whether the user wants to quit setup
;
; INPUTS: None
;
; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL |
; STATUS_FAILED
;
; $R1: UserAction: OK | CANCEL
;
;------------------------------------------------------------------------
[QueryUserQuit]
set Status = STATUS_FAILED
set UserAction = CANCEL
;
; read in quit message
;
read-syms ExitWarningDlg$(!STF_LANGUAGE)
ui start "ExitWarning"
ifstr(i) $(DLGEVENT) == "YES"
set Status = STATUS_SUCCESSFUL
set UserAction = "OK"
else-ifstr(i) $(DLGEVENT) == "NO"
set Status = STATUS_SUCCESSFUL
set UserAction = "CANCEL"
else
endif
fin_QueryUserQuit = +
Return $(Status) $(UserAction)
[ExitWarningDlgENG]
DlgType = "MessageBox"
STF_MB_TITLE = "Exit Microsoft Index Server for Microsoft Windows NT Setup"
STF_MB_TEXT = "The Microsoft Index Server is not completely installed."$(LF)$(LF)+
" Are you sure you want to exit Setup?"
STF_MB_TYPE = 3
STF_MB_ICON = 5
STF_MB_DEF = 1
;-----------------------------------------------------------------------
; ROUTINE: SetupMessage
;
; DESCRIPTION: Puts up a MessageBox
;
; INPUTS: $0 LanguageID
; $1 Message type
; $2 Message string
;
; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL |
; STATUS_FAILED
;
; $R1: UserAction: OK | CANCEL
;
;------------------------------------------------------------------------
[SetupMessage]
set Status = STATUS_FAILED
set UserAction = "CANCEL"
set DlgText = $($2)
ifstr(i) $($1) == "WARNING"
read-syms WarningDlg$($0)
else-ifstr(i) $($1) == "FATAL"
read-syms FatalDlg$($0)
else-ifstr(i) $($1) == "NONFATAL"
read-syms NonfatalDlg$($0)
else-ifstr(i) $($1) == "STATUS"
read-syms StatusDlg$($0)
else-ifstr(i) $($1) == "WARNINGOK"
read-syms WarningOKDlg$($0)
else
goto finish_SetupMessage
endif
ui start "SetupMessage"
ifstr(i) $(DLGEVENT) == "OK"
set Status = STATUS_SUCCESSFUL
set UserAction = $(DLGEVENT)
else-ifstr(i) $(DLGEVENT) == "CANCEL"
set Status = STATUS_SUCCESSFUL
set UserAction = $(DLGEVENT)
else-ifstr(i) $(DLGEVENT) == "YES"
set Status = STATUS_SUCCESSFUL
set UserAction = $(DLGEVENT)
else-ifstr(i) $(DLGEVENT) == "NO"
set Status = STATUS_SUCCESSFUL
set UserAction = $(DLGEVENT)
else
endif
finish_SetupMessage = +
Return $(Status) $(UserAction)
end
[WarningDlgENG]
STF_MB_TITLE = "Setup Message"
DlgType = "MessageBox"
STF_MB_TEXT = $(DlgText)
STF_MB_TYPE = 2
STF_MB_ICON = 5
STF_MB_DEF = 2
[FatalDlgENG]
STF_MB_TITLE = "Setup Message"
DlgType = "MessageBox"
STF_MB_TEXT = $(DlgText)
STF_MB_TYPE = 1
STF_MB_ICON = 3
STF_MB_DEF = 1
[NonfatalDlgENG]
STF_MB_TITLE = "Setup Message"
DlgType = "MessageBox"
STF_MB_TEXT = $(DlgText)
STF_MB_TYPE = 1
STF_MB_ICON = 5
STF_MB_DEF = 1
[StatusDlgENG]
STF_MB_TITLE = "Setup Message"
DlgType = "MessageBox"
STF_MB_TEXT = $(DlgText)
STF_MB_TYPE = 1
STF_MB_ICON = 2
STF_MB_DEF = 1
[WarningOKDlgENG]
DlgType = "MessageBox"
STF_MB_TITLE = "Setup Message"
STF_MB_TEXT = $(DlgText)
STF_MB_TYPE = 3
STF_MB_ICON = 5
STF_MB_DEF = 1
;-----------------------------------------------------------------------
; ROUTINE: DoAskPathEx
;
; DESCRIPTION: Puts up an EDIT box to prompt for a path
;
; INPUTS: $0 LanguageID
; $1 Message type
; $2 Message error
;
; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL |
; STATUS_FAILED
;
; $R1: UserAction: OK | CANCEL
;
;------------------------------------------------------------------------
[DoAskPathEx]
set Status = STATUS_FAILED
set Src = $($0)
askpath = +
read-syms DisketteDlg$(!STF_LANGUAGE)
ui start "Diskette"
ifstr(i) $(DLGEVENT) == "CONTINUE"
LibraryProcedure IsFullPath, $(!LIBHANDLE), CheckPathFullPathSpec $(EditTextOut)
ifstr(i) $(IsFullPath) == "NO"
StartWait
LibraryProcedure STATUS, $(!LIBHANDLE), ProcessForUNC $(EditTextOut)
EndWait
ifstr(i) $(STATUS) == "ERROR"
shell "" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $($2)
goto askpath
else-ifstr(i) $(STATUS) == "NOT-UNC"
shell "" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $($2)
goto askpath
else-ifstr(i) $(STATUS) == "UNC-FAILCONNECT"
shell "" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $($2)
goto askpath
else
set Src = $(STATUS)
endif
else
set Src = $(EditTextOut)
endif
ui pop 1
LibraryProcedure STATUS, $(!LIBHANDLE), AppendBackSlash $(Src)
ifstr(i) $(STATUS) == "ERROR"
goto finish_DoAskPath
else
set Src = $(STATUS)
set Status = STATUS_SUCCESSFUL
goto finish_DoAskPath
endif
else-ifstr(i) $(DLGEVENT) == "BACK"
ui pop 1
set Status = STATUS_USERCANCEL
goto finish_DoAskPath
else
ui pop 1
goto finish_DoAskPath
endif
finish_DoAskPath = +
Return $(Status) $(Src) $(EditTextOut)
;-----------------------------------------------------------------------
; ROUTINE: DoAskVPathEx
;
; DESCRIPTION: Puts up an EDIT box to prompt for a virtual path
;
; INPUTS: $0 LanguageID
; $1 Message type
; $2 Message error
;
; OUTPUTS: $R0: Status: STATUS_SUCCESSFUL |
; STATUS_FAILED
;
; $R1: UserAction: OK | CANCEL
;
;------------------------------------------------------------------------
[DoAskVPathEx]
set Status = STATUS_FAILED
set Src = $($0)
askvpath = +
read-syms DisketteDlg$(!STF_LANGUAGE)
ui start "Diskette"
ifstr(i) $(DLGEVENT) == "CONTINUE"
;
; Make sure it has slashes
;
split-string $(EditTextOut) "/" Tmp
set HasSlash = STATUS_FAILED
set EndsInSlash = STATUS_FAILED
set MinusEndSlash = ""
ForListDo $(Tmp)
ifstr(i) $($) == "/"
set HasSlash = STATUS_SUCCESS
set EndsInSlash = STATUS_SUCCESS
else
set EndsInSlash = STATUS_FAILED
set MinusEndSlash = $(MinusEndSlash)/$($)
endif
EndForListDo
ifstr(i) $(EndsInSlash) == STATUS_SUCCESS
set EditTextOut = $(MinusEndSlash)
endif
ifstr(i) $(HasSlash) != STATUS_SUCCESS
shell "" SetupMessage $(!STF_LANGUAGE) "NONFATAL" $($2)
goto askvpath
else
set Src = $(EditTextOut)
endif
set Status = STATUS_SUCCESS
ui pop 1
else-ifstr(i) $(DLGEVENT) == "BACK"
ui pop 1
set Status = STATUS_USERCANCEL
goto finish_DoAskVPath
else
ui pop 1
goto finish_DoAskVPath
endif
finish_DoAskVPath = +
Return $(Status) $(Src) $(EditTextOut)
[DisketteDlgENG]
Caption = "Microsoft Index Server for Microsoft Windows NT Setup"
Continue = "Continue"
Cancel = "Cancel"
DlgType = "Edit"
DlgTemplate = "DISKETTE"
DlgText = $($1)
Edit1Label = ""
EditTextIn = $(Src)
EditFocus = "ALL"
;----------------------------------------------
; Billboard Helper functions
;----------------------------------------------
[PushBillboard]
read-syms BillboardDlg$(!STF_LANGUAGE)
ui start "Billboard"
Return
[PopBillboard]
ui pop 1
Return
[BillboardDlgENG]
DlgType = Billboard
DlgTemplate = $($0)
TextFields = {$($1)}
[ICopySearchFiles]
AddSectionFilesToCopyList Files-System $(SrcPlatDir) $(!WinSysDir)
AddSectionFilesToCopyList Files-URL $(SrcPlatDir) $(StartFolder)
AddSectionFilesToCopyList Files-Filters $(SrcPlatDir) $(!WinSysDir)
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.dat
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang $(SrcDir)Lang $(!WinSysDir)
else
AddSectionFilesToCopyList Files-Lang $(SrcDir) $(!WinSysDir)
endif
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Sample\admin.htm
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-SampleHTM $(SrcDir)Sample $(HomeDir)Samples\Search\
AddSectionFilesToCopyList Files-SampleIDQ $(SrcDir)Sample $(ScriptDir)Samples\Search\
AddSectionFilesToCopyList Files-AdminHTM $(SrcDir)Sample $(HomeDir)srchadm\
AddSectionFilesToCopyList Files-AdminIDQ $(SrcDir)Sample $(ScriptDir)srchadm\
AddSectionFilesToCopyList Files-SampleHelp $(SrcDir)Help $(HomeDir)Samples\Search\
AddSectionFilesToCopyList Files-Help $(SrcDir)Help $(HomeDir)srchadm\help
else
AddSectionFilesToCopyList Files-SampleHTM $(SrcDir) $(HomeDir)Samples\Search\
AddSectionFilesToCopyList Files-SampleIDQ $(SrcDir) $(ScriptDir)Samples\Search\
AddSectionFilesToCopyList Files-AdminHTM $(SrcDir) $(HomeDir)srchadm\
AddSectionFilesToCopyList Files-AdminIDQ $(SrcDir) $(ScriptDir)srchadm\
AddSectionFilesToCopyList Files-SampleHelp $(SrcDir) $(HomeDir)Samples\Search\
AddSectionFilesToCopyList Files-Help $(SrcDir) $(HomeDir)srchadm\help
endif
;
; Add additional languages
;
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.DEU
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-DEU $(SrcDir)Lang $(!WinSysDir)
else
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)noise.DEU
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-DEU $(SrcDir) $(!WinSysDir)
endif
endif
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.ENG
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-ENG $(SrcDir)Lang $(!WinSysDir)
else
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)noise.ENG
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-ENG $(SrcDir) $(!WinSysDir)
endif
endif
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.ENU
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-ENU $(SrcDir)Lang $(!WinSysDir)
else
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)noise.ENU
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-ENU $(SrcDir) $(!WinSysDir)
endif
endif
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.ESN
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-ESN $(SrcDir)Lang $(!WinSysDir)
else
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)noise.ESN
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-ESN $(SrcDir) $(!WinSysDir)
endif
endif
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.FRA
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-FRA $(SrcDir)Lang $(!WinSysDir)
else
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)noise.FRA
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-FRA $(SrcDir) $(!WinSysDir)
endif
endif
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.ITA
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-ITA $(SrcDir)Lang $(!WinSysDir)
else
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)noise.ITA
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-ITA $(SrcDir) $(!WinSysDir)
endif
endif
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.NLD
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-NLD $(SrcDir)Lang $(!WinSysDir)
else
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)noise.NLD
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-NLD $(SrcDir) $(!WinSysDir)
endif
endif
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)Lang\noise.SVE
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-SVE $(SrcDir)Lang $(!WinSysDir)
else
LibraryProcedure STATUS,$(!LIBHANDLE), CheckFileExistance $(SrcDir)noise.SVE
ifstr(i) $(STATUS) == YES
AddSectionFilesToCopyList Files-Lang-SVE $(SrcDir) $(!WinSysDir)
endif
endif
exit
[Install-All-Files-Now]
CopyFilesInCopyList
exit
;
; Content Index file lists...
;
[Files-System]
1, CIDAEMON.EXE NOLOG
1, IDQ.DLL, NOLOG
1, INFOSOFT.DLL, NOLOG
1, QPERF.DLL, NOLOG
1, QUERY.DLL, NOLOG
[Files-URL]
1, ISADMIN.URL, NOLOG, RENAME="Index Server Administration.url"
1, ISDOC.URL, NOLOG, RENAME="Index Server Online Documentation.url"
1, ISQUERY.URL, NOLOG, RENAME="Index Server Sample Query Form.url"
1, ISREADME.URL, NOLOG, RENAME="Index Server Release Notes.url"
[Files-Filters]
1, HTMLFILT.DLL, NOLOG
1, KPPP.DLL, NOLOG
1, KPPP7.DLL, NOLOG
1, KPW6.DLL, NOLOG
1, KPWORD.DLL, NOLOG
1, KPXL5.DLL, NOLOG
1, SCCFA.DLL, NOLOG
1, SCCFI.DLL, NOLOG
1, SCCIFILT.DLL, NOLOG
1, SCCUT.DLL, NOLOG
[Files-Lang]
1, NOISE.DAT, NOLOG, BACKUP=NOISE.DAT.BAK
[Files-Lang-DEU]
1, NOISE.DEU, NOLOG, BACKUP=NOISE.DEU.BAK
1, WBCACHE.DEU, NOLOG
1, WBDBASE.DEU, NOLOG
[Files-Lang-ENG]
1, NOISE.ENG, NOLOG, BACKUP=NOISE.ENG.BAK
1, WBCACHE.ENG, NOLOG
1, WBDBASE.ENG, NOLOG
[Files-Lang-ENU]
1, NOISE.ENU, NOLOG, BACKUP=NOISE.ENU.BAK
1, WBCACHE.ENU, NOLOG
1, WBDBASE.ENU, NOLOG
[Files-Lang-ESN]
1, NOISE.ESN, NOLOG, BACKUP=NOISE.ESN.BAK
1, WBCACHE.ESN, NOLOG
1, WBDBASE.ESN, NOLOG
[Files-Lang-FRA]
1, NOISE.FRA, NOLOG, BACKUP=NOISE.FRA.BAK
1, WBCACHE.FRA, NOLOG
1, WBDBASE.FRA, NOLOG
[Files-Lang-ITA]
1, NOISE.ITA, NOLOG, BACKUP=NOISE.ITA.BAK
1, WBCACHE.ITA, NOLOG
1, WBDBASE.ITA, NOLOG
[Files-Lang-NLD]
1, NOISE.NLD, NOLOG, BACKUP=NOISE.NLD.BAK
1, WBCACHE.NLD, NOLOG
1, WBDBASE.NLD, NOLOG
[Files-Lang-SVE]
1, NOISE.SVE, NOLOG, BACKUP=NOISE.SVE.BAK
1, WBCACHE.SVE, NOLOG
1, WBDBASE.SVE, NOLOG
[Files-SampleHTM]
1, AUTHOR.HTM, NOLOG
1, BESTWITH.GIF, NOLOG
1, BOOK08.JPG, NOLOG
1, 64X_BOOK.JPG, NOLOG
1, 32X_BOOK.JPG, NOLOG
1, DISCLAIM.HTM, NOLOG
1, FILESIZE.HTM, NOLOG
1, FILETIME.HTM, NOLOG
1, POWRBYBO.GIF, NOLOG
1, QUERY.HTM, NOLOG
1, HOME.GIF, NOLOG
[Files-SampleHelp]
1, QRYLANG.HTM, NOLOG
1, TIPSHELP.HTM, NOLOG
1, UP.GIF, NOLOG
[Files-SampleIDQ]
1, AUTHOR.IDQ, NOLOG
1, DEFERROR.HTX, NOLOG
1, DETAIL1.HTX, NOLOG
1, DETAIL2.HTX, NOLOG
1, DETAIL3.HTX, NOLOG
1, DETAIL4.HTX, NOLOG
1, FILESIZE.IDQ, NOLOG
1, FILETIME.IDQ, NOLOG
1, FORMAT1.HTX, NOLOG
1, FORMAT2.HTX, NOLOG
1, FORMAT3.HTX, NOLOG
1, FORMAT4.HTX, NOLOG
1, HEAD.HTX, NOLOG
1, HIDDEN.HTX, NOLOG
1, HTXERROR.HTX, NOLOG
1, IDQERROR.HTX, NOLOG
1, NEXT.HTX, NOLOG
1, PREV.HTX, NOLOG
1, QUERY.HTX, NOLOG
1, QUERY.IDQ, NOLOG
1, RESERROR.HTX, NOLOG
1, SFORMAT1.HTX, NOLOG
1, SFORMAT2.HTX, NOLOG
1, SFORMAT3.HTX, NOLOG
1, SFORMAT4.HTX, NOLOG
1, SHEAD.HTX, NOLOG
1, SIMPLE.IDQ, NOLOG
1, SNEXT.HTX, NOLOG
1, STAIL.HTX, NOLOG
1, TAIL.HTX, NOLOG
[Files-AdminHTM]
1, ADMIN.HTM, NOLOG
1, BESTWITH.GIF, NOLOG
1, BOOK08.JPG, NOLOG
1, HOME.GIF, NOLOG
1, POWRBYBO.GIF, NOLOG
1, README.HTM, NOLOG
[Files-AdminIDQ]
1, ADMIN.HTX, NOLOG
1, ADMIN.IDA, NOLOG
1, ADMIN.IDQ, NOLOG
1, MERGE.IDA, NOLOG
1, HQUERY.IDQ, NOLOG
1, HQUERY.HTX, NOLOG
1, SCAN.IDA, NOLOG
1, SCAN.IDQ, NOLOG
1, SCAN.HTX, NOLOG
1, STATE.HTX, NOLOG
1, STATE.IDA, NOLOG
1, UNFILT.IDQ, NOLOG
1, UNFILT.HTX, NOLOG
[Files-Help]
1, ACTIVE2.GIF, NOLOG
1, ACTIVE6.GIF, NOLOG
1, ACTIVE6a.GIF, NOLOG
1, ACTIVE7.GIF, NOLOG
1, ADMINHLP.HTM, NOLOG
1, BACKGRD.GIF, NOLOG
1, BULLET.GIF, NOLOG
1, CATHLP.HTM, NOLOG
1, DEFAULT.HTM, NOLOG
1, ERRHANDL.HTM, NOLOG
1, ERRORHLP.HTM, NOLOG
1, FAQ.HTM, NOLOG
1, FILTRHLP.HTM, NOLOG
1, FRONT.HTM, NOLOG
1, GLOSSARY.HTM, NOLOG
1, HTXHELP.HTM, NOLOG
1, IDQ-VARS.HTM, NOLOG
1, IDQHELP.HTM, NOLOG
1, IDX_LOGO.GIF, NOLOG
1, INDEXHLP.HTM, NOLOG
1, INSTALL.HTM, NOLOG
1, INTRO.HTM, NOLOG
1, LICENSE.HTM, NOLOG
1, NEXT.GIF, NOLOG
1, ONEPIX.GIF, NOLOG
1, POWERED.GIF, NOLOG
1, PREVIOUS.GIF, NOLOG
1, QRYLANG.HTM, NOLOG
1, QUERYHLP.HTM, NOLOG
1, REGHELP.HTM, NOLOG
1, SCANHLP.HTM, NOLOG
1, SECHELP.HTM, NOLOG
1, TIPSHELP.HTM, NOLOG
1, TOC.GIF, NOLOG
1, UP.GIF, NOLOG
1, UP_END.GIF, NOLOG
1, XAG_E19.GIF, NOLOG
;
; Content Index Registry Settings
;
;
; Format: Root, Key, Name, Type, Value
; Type 0 = REG_SZ
; Type 4 = REG_DWORD
; Type 5 = REG_EXPAND_SZ
;
[CI.IIS]
HKLM,"system\currentcontrolset\services\w3svc\Parameters\Script Map",".idq",0,"idq.dll"
HKLM,"system\currentcontrolset\services\w3svc\Parameters\Script Map",".ida",0,"idq.dll"
[CI.ContentIndex]
HKLM,"system\currentcontrolset\control\ContentIndex","ChangeNotificationInterval",4,"0000000F"
HKLM,"system\currentcontrolset\control\ContentIndex","DaemonResponseTimeout",4,"00000005"
HKLM,"system\currentcontrolset\control\ContentIndex","FilterContents",4,"00000001"
HKLM,"system\currentcontrolset\control\ContentIndex","FilterDirectories",4,"00000000"
HKLM,"system\currentcontrolset\control\ContentIndex","FilterFilesWithUnknownExtensions",4,"00000001"
HKLM,"system\currentcontrolset\control\ContentIndex","FilterDelayInterval",4,"00000014"
HKLM,"system\currentcontrolset\control\ContentIndex","FilterMemory",4,"00000080"
HKLM,"system\currentcontrolset\control\ContentIndex","FilterRemainingThreshold",4,"00000020"
HKLM,"system\currentcontrolset\control\ContentIndex","FilterRetries",4,"00000004"
HKLM,"system\currentcontrolset\control\ContentIndex","FilterRetryInterval",4,"0000001E"
HKLM,"system\currentcontrolset\control\ContentIndex","ForcedNetPathScanInterval",4,"00000078"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiMaxEntriesInQueryCache",4,"0000000a"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiMaxRecordsPerGetRows",4,"0000000A"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiMaxRecordsInResultSet",4,"00001388"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiQueryCachePurgeInterval",4,"00000005"
HKLM,"system\currentcontrolset\control\ContentIndex","MasterMergeCheckpointInterval",4,"00000100"
HKLM,"system\currentcontrolset\control\ContentIndex","MasterMergeTime",4,"00000000"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxDefaultFilter",4,"00000100"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxFilesizeFiltered",4,"00000100"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxFilesizeMultiplier",4,"00000008"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxIdealIndexes",4,"00000005"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxIndexes",4,"00000032"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxMergeInterval",4,"0000000a"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxPendingDocuments",4,"00000020"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxQueueChunks",4,"00000014"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxQueryExecutionTime",4,"00002710"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxQueryTimeslice",4,"00000032"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxShadowFreeForceMerge",4,"000001F4"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxShadowIndexSize",4,"0000000f"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxWordLists",4,"00000014"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxWordlistSize",4,"00000014"
HKLM,"system\currentcontrolset\control\ContentIndex","MinDiskFreeForceMerge",4,"0000000f"
HKLM,"system\currentcontrolset\control\ContentIndex","MinMergeIdleTime",4,"0000005a"
HKLM,"system\currentcontrolset\control\ContentIndex","MinSizeMergeWordlists",4,"00000400"
HKLM,"system\currentcontrolset\control\ContentIndex","MinWordlistMemory",4,"00000005"
HKLM,"system\currentcontrolset\control\ContentIndex","ThreadClassFilter",4,"00000040"
HKLM,"system\currentcontrolset\control\ContentIndex","ThreadPriorityFilter",4,"00000001"
HKLM,"system\currentcontrolset\control\ContentIndex","ThreadPriorityMerge",4,"fffffffe"
HKLM,"system\currentcontrolset\control\ContentIndex","GenerateCharacterization",4,"00000001"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxCharacterization",4,"00000140"
HKLM,"system\currentcontrolset\control\ContentIndex","GrovelIISRegistry",4,"00000001"
HKLM,"system\currentcontrolset\control\ContentIndex","EventLogFlags",4,"00000002"
HKLM,"system\currentcontrolset\control\ContentIndex","CiFlags",4,"00000000"
HKLM,"system\currentcontrolset\Services\EventLog\Application\Ci","EventMessageFile",5,"%SystemRoot%\System32\query.dll"
HKLM,"system\currentcontrolset\Services\EventLog\Application\Ci","CategoryMessageFile",5,"%SystemRoot%\System32\query.dll"
HKLM,"system\currentcontrolset\Services\EventLog\Application\Ci","TypesSupported",4,"7"
HKLM,"system\currentcontrolset\Services\EventLog\Application\Ci","CategoryCount",4,"1"
[CI.ContentIndexSmall]
HKLM,"system\currentcontrolset\control\ContentIndex","MinIdleQueryThreads",4,"00000001"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxActiveQueryThreads",4,"00000003"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxFreshCount",4,"00001388"
HKLM,"system\currentcontrolset\control\ContentIndex","PropertyStoreMappedCache",4,"00000010"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiRequestQueueSize",4,"00000010"
HKLM,"system\currentcontrolset\control\ContentIndex","CacheLockingGranularity",4,"0000001"
[CI.ContentIndexLarge]
HKLM,"system\currentcontrolset\control\ContentIndex","MinIdleQueryThreads",4,"00000002"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxActiveQueryThreads",4,"00000003"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxFreshCount",4,"00004E20"
HKLM,"system\currentcontrolset\control\ContentIndex","PropertyStoreMappedCache",4,"00000060"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiRequestQueueSize",4,"00000018"
HKLM,"system\currentcontrolset\control\ContentIndex","CacheLockingGranularity",4,"0000001"
[CI.ContentIndexSmallMP2]
HKLM,"system\currentcontrolset\control\ContentIndex","MinIdleQueryThreads",4,"00000002"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxActiveQueryThreads",4,"00000006"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxFreshCount",4,"00001388"
HKLM,"system\currentcontrolset\control\ContentIndex","PropertyStoreMappedCache",4,"00000020"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiRequestQueueSize",4,"00000018"
HKLM,"system\currentcontrolset\control\ContentIndex","CacheLockingGranularity",4,"0000002"
[CI.ContentIndexLargeMP2]
HKLM,"system\currentcontrolset\control\ContentIndex","MinIdleQueryThreads",4,"00000003"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxActiveQueryThreads",4,"00000006"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxFreshCount",4,"00004E20"
HKLM,"system\currentcontrolset\control\ContentIndex","PropertyStoreMappedCache",4,"00000060"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiRequestQueueSize",4,"00000018"
HKLM,"system\currentcontrolset\control\ContentIndex","CacheLockingGranularity",4,"0000002"
[CI.ContentIndexLargeMPMany]
HKLM,"system\currentcontrolset\control\ContentIndex","MinIdleQueryThreads",4,"00000004"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxActiveQueryThreads",4,"00000009"
HKLM,"system\currentcontrolset\control\ContentIndex","MaxFreshCount",4,"00004E20"
HKLM,"system\currentcontrolset\control\ContentIndex","PropertyStoreMappedCache",4,"00000060"
HKLM,"system\currentcontrolset\control\ContentIndex","IsapiRequestQueueSize",4,"00000020"
HKLM,"system\currentcontrolset\control\ContentIndex","CacheLockingGranularity",4,"0000005"
[CI.Performance]
HKLM,"system\currentcontrolset\services\ContentFilter\Performance","Close",0,"DoneFILTERPerformanceData"
HKLM,"system\currentcontrolset\services\ContentFilter\Performance","Collect",0,"CollectFILTERPerformanceData"
HKLM,"system\currentcontrolset\services\ContentFilter\Performance","Open",0,"InitializeFILTERPerformanceData"
HKLM,"system\currentcontrolset\services\ContentFilter\Performance","Library",0,"QPerf.dll"
HKLM,"system\currentcontrolset\services\ContentFilter\Linkage","Bind",0,"\Dummy"
HKLM,"system\currentcontrolset\services\ContentFilter\Linkage","Export",0,"\Dummy"
HKLM,"system\currentcontrolset\services\ContentFilter\Linkage","Route",0,"\Dummy"
HKLM,"system\currentcontrolset\services\ContentIndex\Performance","Close",0,"DoneCIPerformanceData"
HKLM,"system\currentcontrolset\services\ContentIndex\Performance","Collect",0,"CollectCIPerformanceData"
HKLM,"system\currentcontrolset\services\ContentIndex\Performance","Open",0,"InitializeCIPerformanceData"
HKLM,"system\currentcontrolset\services\ContentIndex\Performance","Library",0,"QPerf.dll"
HKLM,"system\currentcontrolset\services\ContentIndex\Linkage","Bind",0,"\Dummy"
HKLM,"system\currentcontrolset\services\ContentIndex\Linkage","Export",0,"\Dummy"
HKLM,"system\currentcontrolset\services\ContentIndex\Linkage","Route",0,"\Dummy"
HKLM,"system\currentcontrolset\services\ISAPISearch\Performance","Close",0,"DoneCIISAPIPerformanceData"
HKLM,"system\currentcontrolset\services\ISAPISearch\Performance","Collect",0,"CollectCIISAPIPerformanceData"
HKLM,"system\currentcontrolset\services\ISAPISearch\Performance","Open",0,"InitializeCIISAPIPerformanceData"
HKLM,"system\currentcontrolset\services\ISAPISearch\Performance","Library",0,"QPerf.dll"
HKLM,"system\currentcontrolset\services\ISAPISearch\Linkage","Bind",0,"\Dummy"
HKLM,"system\currentcontrolset\services\ISAPISearch\Linkage","Export",0,"\Dummy"
HKLM,"system\currentcontrolset\services\ISAPISearch\Linkage","Route",0,"\Dummy"
;
; Format: Persistent Handler CLSID, Persistent Handler description, Inproc handler for IFilter
;
[CI.PersHandlers]
"{5E941D80-BF96-11CD-B579-08002B30BFEB}","Plain Text Persistent Handler","{C1243CA0-BF96-11CD-B579-08002B30BFEB}"
"{EEC97550-47A9-11CF-B952-00AA0051FE20}","HTML File Persistent Handler","{E0CA5340-4534-11CF-B952-00AA0051FE20}"
"{098F2470-BAE0-11CD-B579-08002B30BFEB}","Null persistent handler","{C3278E90-BEA7-11CD-B579-08002B30BFEB}"
"{98de59a0-d175-11cd-a7bd-00006b827d94}","MS Office Persistent Handler","{53524bdc-3e9c-101b-abe2-00608c86f49a}"
[CI.HtmlFilter]
HKLM,"system\currentcontrolset\control\HtmlFilter","MetaTagClsid",2,"{d1b5d3f0-c0b3-11cf-9a92-00a0c908dbf1}"
;
; Format: Filter CLSID, Filter description, InprocServer32
;
[CI.Filters]
"{C3278E90-BEA7-11CD-B579-08002B30BFEB}","Null filter","query.dll"
"{C1243CA0-BF96-11CD-B579-08002B30BFEB}","Plain Text Filter","query.dll"
"{E0CA5340-4534-11CF-B952-00AA0051FE20}","HTML Filter","htmlfilt.dll"
"{53524bdc-3e9c-101b-abe2-00608c86f49a}","Inso Universal IFilter","sccifilt.dll"
;
; Format: ShortName, CLSID, Class description, Persistent Handler, Extension(s)
;
[CI.Classes]
"htmlfile","{25336920-03F9-11cf-8FD0-00AA00686F13}","HTML file","{EEC97550-47A9-11CF-B952-00AA0051FE20}",".htm,.html,.htx,.stm"
"idqfile","{961C1130-89AD-11CFf-88A1-00AA004B9986}","Microsoft Query parameter file","{5E941D80-BF96-11CD-B579-08002B30BFEB}",".idq"
"Word.Template","{00020900-0000-0000-C000-000000000046}","Microsoft Word Template","{98de59a0-d175-11cd-a7bd-00006b827d94}",".dot"
"Word.Document","{00020900-0000-0000-C000-000000000046}","Microsoft Word Document","{98de59a0-d175-11cd-a7bd-00006b827d94}",".doc"
"Word.RTF","{00020900-0000-0000-C000-000000000046}","Rich Text Format","{98de59a0-d175-11cd-a7bd-00006b827d94}",".rtf"
"Excel.Sheet","{00020810-0000-0000-C000-000000000046}","Microsoft Excel Worksheet","{98de59a0-d175-11cd-a7bd-00006b827d94}",".xla,.xlb,.xll,.xlm,.xls,.xlt,.xlw"
"Excel.Chart","{00020811-0000-0000-C000-000000000046}","Microsoft Excel Chart","{98de59a0-d175-11cd-a7bd-00006b827d94}",".xlc"
"PowerPoint.Template.7","{EA7BAE71-FB3B-11CD-A903-00AA00510EA3}","Microsoft PowerPoint Slide","{98de59a0-d175-11cd-a7bd-00006b827d94}",".pot"
"PowerPoint.Show.7","{EA7BAE70-FB3B-11CD-A903-00AA00510EA3}","Microsoft PowerPoint Presentation","{98de59a0-d175-11cd-a7bd-00006b827d94}",".ppt"
"PlainText","{89BCB7A4-6119-101A-BCB7-00DD010655AF}","Plain ASCII/UniCode text file","{5E941D80-BF96-11CD-B579-08002B30BFEB}",".txt,.wtx"
"batfile","{89BCB7A5-6119-101A-BCB7-00DD010655AF}","MS-DOS Batch File","{5E941D80-BF96-11CD-B579-08002B30BFEB}",".bat"
"cmdfile","{89BCB7A6-6119-101A-BCB7-00DD010655AF}","Windows NT Command Script","{5E941D80-BF96-11CD-B579-08002B30BFEB}",".cmd"
"BinaryFile","{08c524e0-89b0-11cf-88a1-00aa004b9986}","Binary file","{098F2470-BAE0-11CD-B579-08002B30BFEB}",".aif,.avi,.cgm,.com,.dct,.dic,.dll,.exe,.eyb,.fnt,.ghi,.gif,.hqx,.ico,.inv,.jbf,.jpg,.m14,.mov,.movie,.mv,.pdf,.pic,.pma,.pmc,.pml,.pmr,.psd,.sc2,.tar,.tif,.tiff,.ttf,.wav,.wll,.wlt,.wmf,.z,.z96,.zip"
;
; Format: Name, locale, Wordbreaker CLSID, Stemmer CLSID, noise file
;
[CI.LangRes]
"English_US","1033","{59E09780-8099-101B-8DF3-00000B65C3B5}","{eeed4c20-7f1b-11ce-be57-00aa0051fe20}","noise.enu"
"English_UK","2057","{59E097e4-8099-101B-8DF3-00000B65C3B5}","{d99f7670-7f1a-11ce-be57-00aa0051fe20}","noise.eng"
"French_French","1036","{59E09848-8099-101B-8DF3-00000B65C3B5}","{2a6eb050-7f1c-11ce-be57-00aa0051fe20}","noise.fra"
"German_German","1031","{9B08E210-E51B-11CD-BC7F-00AA003DB18E}","{510a4910-7f1c-11ce-be57-00aa0051fe20}","noise.deu"
"Italian_Italian","1040","{fd86b5d0-12c6-11ce-bd31-00aa004bbb1f}","{6d36ce10-7f1c-11ce-be57-00aa0051fe20}","noise.ita"
"Swedish_Default","1053","{01c6b350-12c7-11ce-bd31-00aa004bbb1f}","{9478f640-7f1c-11ce-be57-00aa0051fe20}","noise.sve"
"Spanish_Modern","3082","{0285b5c0-12c7-11ce-bd31-00aa004bbb1f}","{b0516ff0-7f1c-11ce-be57-00aa0051fe20}","noise.esn"
"Dutch_Dutch","1043","{66b37110-8bf2-11ce-be59-00aa0051fe20}","{860d28d0-8bf4-11ce-be59-00aa0051fe20}","noise.nld"
"Neutral","0","{369647e0-17b0-11ce-9950-00aa004bbb1f}","","noise.dat"
;
; Format: Filter CLSID, Filter description, InprocServer32
;
[CI.LangClass]
"{59E09780-8099-101B-8DF3-00000B65C3B5}","English_US Word Breaker Resources","infosoft.dll"
"{59E097e4-8099-101B-8DF3-00000B65C3B5}","English_UK Word Breaker Resources","infosoft.dll"
"{59E09848-8099-101B-8DF3-00000B65C3B5}","French_French Word Breaker Resources","infosoft.dll"
"{9B08E210-E51B-11CD-BC7F-00AA003DB18E}","German_German Word Breaker Resources","infosoft.dll"
"{fd86b5d0-12c6-11ce-bd31-00aa004bbb1f}","Italian_Italian Word Breaker Resources","infosoft.dll"
"{01c6b350-12c7-11ce-bd31-00aa004bbb1f}","Swedish_Default Word Breaker Resources","infosoft.dll"
"{0285b5c0-12c7-11ce-bd31-00aa004bbb1f}","Spanish_Modern Word Breaker Resources","infosoft.dll"
"{66b37110-8bf2-11ce-be59-00aa0051fe20}","Dutch_Dutch Word Breaker Resources","infosoft.dll"
"{369647e0-17b0-11ce-9950-00aa004bbb1f}","Neutral Word Breaker Resources","query.dll"
"{eeed4c20-7f1b-11ce-be57-00aa0051fe20}","English_US Stemmer Resources","infosoft.dll"
"{d99f7670-7f1a-11ce-be57-00aa0051fe20}","English_UK Stemmer Resources","infosoft.dll"
"{2a6eb050-7f1c-11ce-be57-00aa0051fe20}","French_French Stemmer Resources","infosoft.dll"
"{510a4910-7f1c-11ce-be57-00aa0051fe20}","German_German Stemmer Resources","infosoft.dll"
"{6d36ce10-7f1c-11ce-be57-00aa0051fe20}","Italian_Italian Stemmer Resources","infosoft.dll"
"{9478f640-7f1c-11ce-be57-00aa0051fe20}","Swedish_Default Stemmer Resources","infosoft.dll"
"{b0516ff0-7f1c-11ce-be57-00aa0051fe20}","Spanish_Modern Stemmer Resources","infosoft.dll"
"{860d28d0-8bf4-11ce-be59-00aa0051fe20}","Dutch_Dutch Stemmer Resources","infosoft.dll"
;
; Format Name, IDQ Error File, HTX Error File, Restriction Error File, DefaultErrorFile
;
[CI.LangIDQ]
"English_US","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"
"English_UK","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"
"French_French","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"
"German_German","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"
"Italian_Italian","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"
"Swedish_Default","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"
"Spanish_Modern","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"
"Dutch_Dutch","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"
"Neutral","/scripts/samples/search/IDQError.htx","/scripts/samples/search/HTXError.htx","/scripts/samples/search/ResError.htx","/scripts/samples/search/DefError.htx"